API Documentation
TabWindow.h
1 // TabWindow.h
3 //
5 
6 namespace nkWinUi
7 {
11  class DLL_WINUI_EXPORT TabWindow : public Component
12  {
13  public :
14 
18  class DLL_WINUI_EXPORT Tab
19  {
20  public :
21 
25  Tab () ;
29  virtual ~Tab () ;
30 
31  // Getters
35  const char* getLabel () const ;
43  int getId () const ;
48 
49  // Setters
56  virtual void setLabel (const std::string_view& label, bool autoUpdate = true) ;
62  void setAssociatedWin (Window* win) ;
68  void setId (int id) ;
74  void setParentWindow (TabWindow* parent) ;
75  } ;
76 
77  public :
78 
82  TabWindow () ;
87 
96  virtual Tab* addTab (const std::string_view& label) ;
101  Tab* getTabByLabel (const std::string_view& label) const ;
106  Tab* getTabById (int id) const ;
113  virtual void changeTabLabel (const std::string_view& oldLabel, const std::string_view& newLabel) ;
119  virtual void eraseTab (const std::string_view& label) ;
120 
125  virtual Layout* setLayout (LAYOUT_TYPE layoutType) override ;
126 
132  virtual void setActiveTab (Tab* toActivate) ;
136  Tab* getActiveTab () const ;
137 
143  virtual void adaptToDisplayArea (Window* toAdapt) const = 0 ;
144 
155 
159  virtual void exportIntrospection (nkExport::Node* rootNode) override ;
163  void importClassFromTree (nkExport::Node* rootNode) override ;
164  } ;
165 }
nkWinUi::TabWindow::getTabByLabel
Tab * getTabByLabel(const std::string_view &label) const
nkWinUi::TabWindow::setLayout
virtual Layout * setLayout(LAYOUT_TYPE layoutType) override
nkWinUi::LAYOUT_TYPE
LAYOUT_TYPE
Defines the type of layout available.
Definition: LayoutType.h:12
nkWinUi::TabWindow::addTab
virtual Tab * addTab(const std::string_view &label)
nkWinUi::TabWindow::Tab::Tab
Tab()
nkWinUi::TabWindow::Tab::setAssociatedWin
void setAssociatedWin(Window *win)
nkWinUi::Layout
Represents a layout to organize sub-windows in a window.
Definition: Layout.h:12
nkWinUi::TabWindow::getActiveTab
Tab * getActiveTab() const
nkWinUi::TabWindow::~TabWindow
~TabWindow()
nkWinUi::TabWindow::Tab::setLabel
virtual void setLabel(const std::string_view &label, bool autoUpdate=true)
nkWinUi::TabWindow::Tab::getAssociatedWin
Window * getAssociatedWin() const
nkWinUi::Component
Base class for any graphical component.
Definition: Component.h:12
nkWinUi::TabWindow::adaptToDisplayArea
virtual void adaptToDisplayArea(Window *toAdapt) const =0
nkWinUi::TabWindow::TabWindow
TabWindow()
nkWinUi::TabWindow::Tab::setParentWindow
void setParentWindow(TabWindow *parent)
nkWinUi::TabWindow::Tab::setId
void setId(int id)
nkWinUi::TabWindow::eraseTab
virtual void eraseTab(const std::string_view &label)
nkExport::Node
A node in the tree structure representing the data to export / import.
Definition: Node.h:42
nkWinUi::TabWindow::getTabSpecializedCallback
tabWindowCallback getTabSpecializedCallback() const
nkWinUi::TabWindow::importClassFromTree
void importClassFromTree(nkExport::Node *rootNode) override
nkWinUi::TabWindow::Tab
Holds information about a tab in the window.
Definition: TabWindow.h:19
nkWinUi::Window
A graphical window.
Definition: Window.h:12
nkWinUi::TabWindow::setTabSpecializedCallback
void setTabSpecializedCallback(tabWindowCallback value)
nkWinUi::TabWindow::exportIntrospection
virtual void exportIntrospection(nkExport::Node *rootNode) override
nkWinUi::TabWindow::setActiveTab
virtual void setActiveTab(Tab *toActivate)
nkWinUi::TabWindow::changeTabLabel
virtual void changeTabLabel(const std::string_view &oldLabel, const std::string_view &newLabel)
nkWinUi::tabWindowCallback
std::function< bool(TabWindow *caller, bool changing)> tabWindowCallback
Used by a nkWinUi::TabWindow when a tab switch is occurring.
Definition: CallbackRepository.h:128
nkWinUi::TabWindow::getTabById
Tab * getTabById(int id) const
nkWinUi::TabWindow::Tab::getLabel
const char * getLabel() const
nkWinUi
Encompasses all API of component NilkinsWinUi.
Definition: Button.h:7
nkWinUi::TabWindow::Tab::getParentWindow
TabWindow * getParentWindow() const
nkWinUi::TabWindow
A graphical tab window.
Definition: TabWindow.h:12
nkWinUi::TabWindow::Tab::getId
int getId() const
nkWinUi::TabWindow::Tab::~Tab
virtual ~Tab()